package com.yhn.bubblevideo.common.model;


import com.yhn.bubblevideo.common.enums.IErrorCode;

/**
 * 返回工具类
 *
 * @author yhnyhn123
 */
public class ResultUtils {

    /**
     * 成功
     *
     * @param data 数据
     * @param <T>  返回值类型
     * @return 响应
     */
    public static <T> BaseResponse<T> success(T data) {
        return new BaseResponse<>("0", data, "ok");
    }

    public static <T> BaseResponse<T> success() {
        return new BaseResponse<>("0", null, "ok");
    }

    /**
     * 失败
     *
     * @param errorCode 错误码
     * @return 响应
     */
    public static BaseResponse error(IErrorCode errorCode) {
        return new BaseResponse<>(errorCode);
    }

    /**
     * 失败
     *
     * @return 响应
     */
    public static BaseResponse error(String msg) {
        return new BaseResponse<>("500", null, msg);
    }

    /**
     * 失败
     *
     * @param code    错误码
     * @param message 信息
     * @return 相应
     */
    public static BaseResponse error(String code, String message) {
        return new BaseResponse(code, null, message);
    }

    /**
     * 失败
     *
     * @param errorCode 错误码
     * @return 响应
     */
    public static BaseResponse error(IErrorCode errorCode, String message) {
        return new BaseResponse(errorCode.code(), null, message);
    }
}
